package cn.tramy.pinxian.wind.handler.registry

import cn.tramy.pinxian.wind.handler.HandlerInfo

interface HandlerRegistry {

    fun <T : Annotation> registerHandler(handlerObj: Any, annotationClazz: Class<T>, group: String = "default")

    fun <T : Any> findHandlers(parameterType: Class<T>, group: String = "default"): List<HandlerInfo<Any>>

    fun <T : Any> handlerCount(parameterType: Class<T>, group: String = "default"): Int

}